import Vue from 'vue'
import App from '@/App'
import router from '@/router' // api: https://github.com/vuejs/vue-router
import store from '@/store' // api: https://github.com/vuejs/vuex
import VueCookie from 'vue-cookie' // api: https://github.com/alfhen/vue-cookie
import '@/element-ui' // api: https://github.com/ElemeFE/element

import 'element-ui/lib/theme-chalk/index.css'
import '@/icons' // api: http://www.iconfont.cn/
// import '@/element-ui-theme'
import '@/assets/scss/index.scss'
import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
import { isAuth } from '@/utils'
import cloneDeep from 'lodash/cloneDeep'

Vue.use(VueCookie)
Vue.config.productionTip = false

// 挂载全局
Vue.prototype.$http = httpRequest // ajax请求方法
Vue.prototype.isAuth = isAuth // 权限方法

Vue.prototype.$cats = function(parameters, handler) {
  this.$http({
    url: this.$http.adornUrl('/goods/cats/dorpdownlist'),
    method: 'get',
    params: this.$http.adornParams(parameters)
  }).then(({ data }) => {
    if (data.code === 0) {
      if (typeof (handler) === 'function') {
        handler(data.list)
      } else if (handler != null) {
        handler = data.list
      }
    }
  })
}
// 保存整站vuex本地储存初始状态
window.SITE_CONFIG['storeState'] = cloneDeep(store.state)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})
